package com.hoshiicloud.as2c.minipro.service;

import com.hoshiicloud.common.exception.ServiceException;
import com.hoshiicloud.common.rpc.Response;

import java.util.Map;

/**
 * @title: ILoginService
 * @description: 登陆相关操作Service接口
 * @author yangcheng
 * @date 2019-05-25 16:07:35
 * @version 1.0
 * @mail maiboyc@163.com
 */
public interface ILoginService {

    /**
     * 微信小程序登陆接口
     * @param companyId         租户ID
     * @param platformId        平台ID
     * @param invitationCode    邀请码
     * @param name              昵称
     * @param sex               性别
     * @param province          身份
     * @param city              城市
     * @param country           国家
     * @param headimgurl        头像地址
     * @param sessionKey        sessionKey
     * @param openId            openId
     * @param appId             appId
     * @param encryptedData     密文
     * @param iv                解密参数
     * @return boolean
     * @throws ServiceException
     */
    Response<Map<String,Object>> wxLogin(Long companyId, Long platformId, String invitationCode, String name, String sex, String province, String city, String country, String headimgurl, String sessionKey, String openId, String appId, String encryptedData, String iv) throws Exception;

    /**
     * 手机号+验证码登录(手机号+验证码注册)
     * @param mobile 手机号码
     * @return boolean
     * @throws Exception
     */
    Response<Map<String,Object>> codeLogin(Long companyId, Long platformId, String mobile, String invitationCode) throws Exception;

    /**
     * 查询租户会员信息和平台会员信息
     * @param param 查询参数
     * @return Response<Map<String,Object>>
     */
    Response<Map<String,Object>> getMemberWithConsumerInfo(Map<String, Object> param);

}
